package com.lumlord.model.message;

import cn.hutool.core.date.DateUtil;
import com.lumlord.util.GsonTools;
import lombok.Data;

import java.util.*;

/*
 * 消息实体
 * @author GPF
 */
@Data
public class MessageDomain implements Cloneable{
    private Integer qos = 0;
    /**
     * 订阅
     */
    private String title;

    /**
     * 发送者ID
     */
    private String sendUserId;
    /**
     * 事件
     */
    private String event;
    /**
     * 模块名称
     */
    private String modeName;
    /**
     * 消息
     */
    private String message;
    /**
     * 自定义属性
     */
    private Map attr = new HashMap();
    /**
     * 订阅者ID
     */
    private Set<String> subscribes = new HashSet<>();
    /**
     * 時間
     */
    private String serverTime = DateUtil.now();

    /**
     * 消息类型 0，人为。1 系统
     */
    private Integer messageType = 0;

    /**
     * 清除非必要参数
     */
    public void clean(){

        this.setQos(null);
        this.subscribes.clear();
        this.subscribes = null ;
    }




    @Override
    public Object clone() throws CloneNotSupportedException
    {
        return super.clone();
    }

}
